/**
 * 显示消息提示框
 * @param content 提示的标题
 */
export const toast = (content) => {
	uni.showToast({
		icon: 'none',
		title: content,
	})
}

/**
 * 显示模态弹窗
 * @param content 提示的标题
 */
export const showConfirm = (content) => {
	return new Promise((resolve, reject) => {
		uni.showModal({
			title: '提示',
			content: content,
			cancelText: '取消',
			confirmText: '确定',
			success: function (res) {
				resolve(res)
			},
		})
	})
}

/**
 * 参数处理
 * @param params 参数
 */
export const tansParams = (params) => {
	let result = ''
	for (const propName of Object.keys(params)) {
		const value = params[propName]
		var part = encodeURIComponent(propName) + '='
		if (value !== null && value !== '' && typeof value !== 'undefined') {
			if (typeof value === 'object') {
				for (const key of Object.keys(value)) {
					if (value[key] !== null && value[key] !== '' && typeof value[key] !== 'undefined') {
						let params = propName + '[' + key + ']'
						var subPart = encodeURIComponent(params) + '='
						result += subPart + encodeURIComponent(value[key]) + '&'
					}
				}
			} else {
				result += part + encodeURIComponent(value) + '&'
			}
		}
	}
	return result
}

/**
 * 获取页面可填区域高度
 */
export const getClientHeight = () => {
  // 状态栏高度
  const statusHeight = uni.$uv.sys().statusBarHeight
  // 导航栏高度
  const navbarHeight = 44
  // 屏幕高度
  const screenHeight = uni.$uv.sys().screenHeight
  return uni.$uv.addUnit(screenHeight - navbarHeight - statusHeight, 'px')
}

/**
 * 时间问候语
 * @param param 当前时间，new Date() 格式
 * @description param 调用 `formatAxis(new Date())` 输出 `上午好`
 * @returns 返回拼接后的时间字符串
 */
export const formatAxis = (param: Date): string => {
  const hour: number = new Date(param).getHours();
  if (hour < 6) return '凌晨好';
  else if (hour < 9) return '早上好';
  else if (hour < 12) return '上午好';
  else if (hour < 14) return '中午好';
  else if (hour < 17) return '下午好';
  else if (hour < 19) return '傍晚好';
  else if (hour < 22) return '晚上好';
  else return '夜里好';
}
